home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #5 / Amiga Plus CD - 2000 - No. 5.iso / Tools / Misc / MUIbase / Install-MUIbase < prev    next >
Text File  |  2000-01-01  |  16KB  |  556 lines

  1. ; $VER: Install-MUIbase 1.5 (08.06.00)
  2.  
  3. (complete 0)
  4.  
  5. ;
  6. ; MUIbase version
  7. ;
  8. (set #mb_ver 1)
  9. (set #mb_rev 5)
  10. (set #mb_vernum (+ (* #mb_ver 65536) #mb_rev))
  11. (set #mb_verstr ("%ld.%ld" #mb_ver #mb_rev))
  12.  
  13. ;
  14. ; minimal installer version
  15. ;
  16. (set #installer_ver 43)
  17. (set #installer_rev 3)
  18. (set #installer_vernum (+ (* #installer_ver 65536) #installer_rev))
  19. (set #installer_verstr ("%ld.%ld" #installer_ver #installer_rev))
  20.  
  21. ;
  22. ; minimal MUI version
  23. ;
  24. (set #mui_ver 3)
  25. (set #mui_rev 8)
  26. (set #mui_vernum (+ (* #mui_ver 65536) #mui_rev))
  27. (set #mui_verstr ("%ld.%ld" #mui_ver #mui_rev))
  28. (set #muimaster_ver 19)
  29. (set #muimaster_rev 35)
  30. (set #muimaster_vernum (+ (* #muimaster_ver 65536) #muimaster_rev))
  31. (set #muimaster_verstr ("%ld.%ld" #muimaster_ver #muimaster_rev))
  32.  
  33. ;
  34. ; Locale strings
  35. ;
  36.  
  37. (set #copyright ("\nMUIbase %s\n=======================\n© 1998-2000, Steffen Gutmann" #mb_verstr))
  38.  
  39. ;
  40. ; German
  41. ;
  42. (if (and 1 (= @language "deutsch"))
  43. (
  44.  
  45. (set #abort     "Abbruch")
  46. (set #update    "Aktualisieren")
  47. (set #chdir     "Verzeichnis wechseln")
  48. (set #install   "Installieren")
  49. (set #skip      "Diesen Teil überspringen")
  50.  
  51. (set #abortinstall  "Die Installation wird nun abgebrochen.")
  52. (set #oldinstaller  "\nSie benutzen eine alte Version von Installer mit der MUIbase nicht installiert werden kann! Bitte installieren Sie\n\nInstaller Version %s oder höher!\n\nSie finden Installer im Aminet im Verzeichnis\n\n/pub/aminet/util/misc\n\n\n%s")
  53.  
  54. (set #installmui    "Bitte installieren Sie\n\nMUI %s oder höher.\n\n Sie finden MUI im Aminet im Verzeichnis\n\n/pub/aminet/dev/mui")
  55. (set #nomui         "\nAuf Ihrem System ist MUI nicht installiert (konnte \"libs:muimaster.library\" nicht finden). MUIbase kann ohne MUI jedoch nicht gestartet werden! %s\n\n\n%s")
  56. (set #oldmui        "\nSie benutzen eine alte Version von MUI (muimaster.library V %s). MUIbase benötigt jedoch MUI %s (muimaster.library V %s)! %s\n\n\n%s")
  57.  
  58. (set #intro         "%s\n\nWillkommen zum MUIbase Installationsprogramm. Hiermit können Sie MUIbase neu auf Ihrem System installieren oder eine bereits vorhandene, ältere Version von MUIbase ersetzen.\n\nMUIbase benutzt das NList/NListview-Paket von Gilles Masson und das TextEditor-Paket von Allan Odgaard. Beide Pakete sind in der Distribution enthalten und werden installiert.")
  59.  
  60. (set #oldmb         "\nMUIbase %s ist auf Ihrem System bereits im Verzeichnis\n\n\"%s\"\n\nvorhanden. ")
  61. (set #oldmb_update  "Sie können diese Installation aktualisieren (empfohlen) oder ein neues Verzeichnis auswählen.")
  62. (set #oldmb_newer   "Dieses Paket ist bereits aktueller als die Dateien die Sie gerade installieren möchen. Sie können die Installation nun abbrechen (empfohlen) oder das Verzeichnis wechseln.")
  63.  
  64. (set #destdir       "Bitte wählen Sie einen Platz für MUIbase. Ein Verzeichnis namens 'MUIbase' wird dort automatisch erzeugt. Der Platzbedarf beträgt ca. 800kB.")
  65. (set #destexists    "\nIm gewählten Zielverzeichnis\n\n\"%s\"\n\nexistiert bereits eine MUIbase-Schublade. Wenn Sie fortfahren, wird die dort befindliche MUIbase-Installation aktualisiert.")
  66.  
  67. (set #obso          "\nHinweis\n=======\n\nDie auf Ihrer Festplatte installierte Datei\n\n\"%s\"\n\nist überflüssig. Soll diese Datei nun gelöscht werden (empfohlen)?")
  68. (set #obso_del      "Ja, löschen!")
  69. (set #obso_nodel    "Nein, nicht löschen!")
  70.  
  71. (set #installdemos  "\nWollen Sie die MUIbase-Beispielprojekte (ca. 100kB) installieren?\n\nMUIbase-Beispielprojekte demonstrieren einige der Anwendungsmöglichkeiten von MUIbase. Eine Installation ist für die korrekte Funktion von MUIbase jedoch nicht erforderlich.")
  72. (set #installimages "\nWollen Sie die Bilder im Verzeichnis \"Images\" (ca. 60kB) installieren (empfohlen)?\n\n Die Bilder werden von MUIbase und den Beispielprojekten benötigt.")
  73.  
  74. (set #copying       "\nKopiere %s...")
  75. (set #copyreadmes   "\nKopiere Readme-Dateien...")
  76. (set #copydocs      "\nWelches Benutzerhandbuch soll installiert werden?")
  77. (set #docs-none     "keines")
  78. (set #copyregister  "\nKopiere Registrierdateien...")
  79. (set #copyexecs     "\nKopiere ausführbare Programme...")
  80. (set #copycatalogs  "Welche Sprachen sollen installiert werden?")
  81. (set #copycatalogs-help "Die eingebaute Sprache in MUIbase ist 'Englisch\n'. ")
  82. (set #copyimages    "\nKopiere Bilder...")
  83. (set #copydemos     "\nKopiere Beispiele...")
  84.  
  85. (set #userstartup   "\nEin paar Befehle werden nun in die Datei \"s:user-startup\" eingefügt.")
  86.  
  87. (set #finished      "%s\n\nMUIbase wurde erfolgreich installiert im Verzeichnis\n\n\"%s\"")
  88.  
  89. )
  90.  
  91.  
  92. ;
  93. ; English
  94. ;
  95. (
  96.  
  97. (set #abort     "Abort")
  98. (set #update    "Update")
  99. (set #chdir     "Change directory")
  100. (set #install   "Install")
  101. (set #skip      "Skip this part")
  102.  
  103. (set #abortinstall  "The installation of MUIbase is aborted now.")
  104. (set #oldinstaller  "\nYou are using an old version of Installer with which it is not possible to install MUIbase!  Please install\n\nInstaller version %s or higher!\n\nYou can find Installer in the Aminet in directory\n\n/pub/aminet/util/misc\n\n\n%s")
  105.  
  106. (set #installmui    "Please install\n\nMUI %s or higher.\n\nYou can find MUI in the Aminet in directory\n\n/pub/aminet/dev/mui")
  107. (set #nomui         "\nMUI is not installed on your system (couldn't find \"libs:muimaster.library\").  MUIbase however requires MUI!  %s\n\n\n%s")
  108. (set #oldmui        "\nYou are using an old version of MUI (muimaster.library V %s). MUIbase however requires MUI %s (muimaster.library V %s)! %s\n\n\n%s")
  109.  
  110. (set #intro         "%s\n\nWelcome to the MUIbase installation program. Use this tool to install MUIbase on your system or to update a previously installed MUIbase release.\n\nMUIbase uses the NList/NListview package by Gilles Masson and the TextEditor package by Allan Odgaard.  Both packages are included in the distribution and will be installed on your system.")
  111.  
  112. (set #oldmb         "\nMUIbase %s is already installed in directory\n\n\"%s\".\n\n")
  113. (set #oldmb_update  "You can update this installation (recommended) or select a new directory.")
  114. (set #oldmb_newer   "This package is more recent than the files you're about to install.  You can abort this installation (recommended) or select a new directory.")
  115.  
  116. (set #destdir       "Please select a place for the MUIbase software. A directory called 'MUIbase' will be created here. The space required is about 800kB.")
  117. (set #destexists    "\nThe directory\n\n\"%s\"\n\nalready contains a MUIbase directory.  If you continue, the MUIbase installation in this directory is updated.")
  118.  
  119. (set #obso          "\nInformation\n===========\n\nThe file\n\n\"%s\"\n\non your harddisk is unneccessary. Shall this file be deleted (recommended)?")
  120. (set #obso_del      "Yes, delete")
  121. (set #obso_nodel    "No, don't delete")
  122.  
  123. (set #installdemos  "\nDo you want to install the example projects (about 100kB)?\n\nMUIbase example projects demonstrate some of the posssibilities that MUIbase offers.  They are not required for a working MUIbase installation.")
  124. (set #installimages "\nDo you want to install the images in directory \"Images\" (about 60kB, installation recommended)?\n\nThe images are used by MUIbase and some example projects.")
  125.  
  126. (set #copying       "\nCopying %s...")
  127. (set #copyreadmes   "\nCopying readme files...")
  128. (set #copydocs      "\nWhich user documentation should be installed?")
  129. (set #docs-none     "none")
  130. (set #copyregister  "\nCopying registration files...")
  131. (set #copyexecs     "\nCopying executables...")
  132. (set #copycatalogs  "Which languages should be installed?")
  133. (set #copycatalogs-help "The builtin language of MUIbase is 'English'\n. ")
  134. (set #copyimages    "\nCopying Images...")
  135. (set #copydemos     "\nCopying Examples...")
  136.  
  137. (set #userstartup   "\nSome commands will be added to your \"s:user-startup\" file.")
  138.  
  139. (set #finished      "%s\n\nMUIbase was successfully installed in directory\n\n\"%s\"")
  140.  
  141. ))
  142.  
  143. ;
  144. ; procedure P_BombCompat        - exit Installer with an error message.
  145. ;                                 We do not use parameters here as P_BombCompat
  146. ;                                 also should work under older Installer versions.
  147. ;
  148. ; #bombtext                     - text to print.
  149. ;
  150. (procedure P_BombCompat
  151.     (user 2)                    ; Force expert user
  152.     (message #bombtext)         ; Keyword 'all' does not work in Installer 1.24!
  153.     (exit (quiet))
  154. )
  155.  
  156. (procedure P_Bomb #text         ; procedure with params
  157.     (set #bombtext #text)
  158.     (P_BombCompat)
  159. )
  160.  
  161.  
  162. ;
  163. ; Check installer version
  164. ;
  165. (if (< @installer-version #installer_vernum)
  166.     (
  167.         (set #bombtext (#oldinstaller #installer_verstr #abortinstall))
  168.         (P_BombCompat)
  169.     )
  170. )
  171.  
  172. ;
  173. ; Check MUI version
  174. ;
  175. (if (not (exists "libs:muimaster.library"))
  176.     (P_Bomb (#nomui (#installmui #mui_verstr) #abortinstall))
  177. )
  178.  
  179. (set #vernum (getversion "libs:muimaster.library"))
  180. (set #ver (/ #vernum 65536))
  181. (set #rev (- #vernum (* #ver 65536)))
  182. (set #verstr ("%ld.%ld" #ver #rev))
  183.  
  184. (if (< #vernum #muimaster_vernum)
  185.     (P_Bomb (#oldmui #verstr #mui_verstr #muimaster_verstr
  186.         (#installmui #mui_verstr) #abortinstall)
  187.     )
  188. )
  189.  
  190. (procedure P_CHECKOBSO #file
  191.     (if (exists #file (noreq))
  192.     (if
  193.             (askbool
  194.                 (prompt (#obso #file))
  195.                 (choices #obso_del #obso_nodel)
  196.                 (default 1)
  197.                 (help @askbool-help)
  198.             )
  199.         (
  200.                 (run (cat "delete all force quiet " #file))
  201.                 (run (cat "delete force quiet " #file ".info"))
  202.             )
  203.     )
  204.     )
  205. )
  206.  
  207. (procedure P_COPYFILE #lib #srcname #dstdir
  208.     (if #lib
  209.     (copylib
  210.           (prompt (#copying #srcname))
  211.         (help @copylib-help)
  212.         (source #srcname)
  213.         (dest #dstdir)
  214.         (optional "force" "askuser")
  215.         (confirm "expert")
  216.         (infos)
  217.     )
  218.         (copyfiles
  219.         (prompt (#copying #srcname))
  220.         (help @copyfiles-help)
  221.         (source #srcname)
  222.         (dest #dstdir)
  223.         (optional "force" "askuser")
  224.         (confirm "expert")
  225.         (infos)
  226.     )
  227.     )
  228. )
  229.  
  230. (procedure P_COPYDIR #lib #sourcedir #destdir
  231.     (if (exists #sourcedir)
  232.     (foreach #sourcedir "#?"
  233.         (if (< @each-type 0)
  234.         (P_COPYFILE #lib (tackon #sourcedir @each-name) #destdir)
  235.         )
  236.     )
  237.     )
  238. )
  239.  
  240. ;
  241. ; Say hello
  242. ;
  243. (message (#intro #copyright))
  244.  
  245. ;
  246. ; Select destination directory
  247. ;
  248. (complete 10)
  249.  
  250. (set #seldir 1)
  251.  
  252. (if (exists "MUIbase:" (noreq))
  253.     (set @default-dest (expandpath "MUIbase:/"))
  254. )
  255.  
  256. (if (exists "MUIbase:MUIbase" (noreq))
  257.     (
  258.         (set #vernum (getversion "MUIbase:MUIbase"))
  259.         (set #ver (/ #vernum 65536))
  260.         (set #rev (- #vernum (* #ver 65536)))
  261.         (set #verstr ("%ld.%ld" #ver #rev))
  262.  
  263.     (if (> #vernum #mb_vernum)
  264.             (if
  265.                 (askbool
  266.                     (prompt (#oldmb #verstr @default-dest) #oldmb_newer)
  267.                     (choices #abort #chdir)
  268.                     (help @askbool-help)
  269.                 )
  270.         (exit (quiet))
  271.             )
  272.         (if
  273.                 (askbool
  274.                     (prompt (#oldmb #verstr @default-dest) #oldmb_update)
  275.                     (choices #update #chdir)
  276.                     (help @askbool-help)
  277.                 )
  278.         (set #seldir 0)
  279.         )
  280.     )
  281.     )
  282. )
  283.  
  284. (if (<> #seldir 0)
  285.     (
  286.     (set @default-dest
  287.         (askdir
  288.         (prompt #destdir)
  289.         (help @askdir-help)
  290.         (default @default-dest)
  291.         )
  292.     )
  293.  
  294.     (set @default-dest (expandpath @default-dest))
  295.     )
  296. )
  297.  
  298. (set #destination (tackon @default-dest "MUIbase"))
  299.  
  300. (if (<> #seldir 0)
  301.     (if (exists #destination)
  302.     (message (#destexists @default-dest))
  303.     )
  304. )
  305.  
  306. ;
  307. ; Obsolete File Check
  308. ;
  309.  
  310. (complete 15)
  311.  
  312. (P_CHECKOBSO (tackon #destination "Register/RegForm_FinalWriter"))
  313. (P_CHECKOBSO (tackon #destination "Register/RegForm_WordWorth5"))
  314. (P_CHECKOBSO (tackon #destination "Docs/mb_texi.tgz"))
  315.  
  316. ;
  317. ; Ask for Demos & Images installation.
  318. ;
  319. (set #do_installdemos
  320.     (askbool
  321.         (prompt #installdemos)
  322.         (choices #install #skip)
  323.         (default 1)
  324.         (help @askbool-help)
  325.     )
  326. )
  327.  
  328. (set #do_installimages
  329.     (askbool
  330.         (prompt #installimages)
  331.         (choices #install #skip)
  332.         (default 1)
  333.         (help @askbool-help)
  334.     )
  335. )
  336.  
  337. ;
  338. ; install MUI extra Libs
  339. ;
  340. (P_COPYDIR 1 "libs/mui" "libs:mui")
  341.  
  342. (complete 20)
  343.  
  344.  
  345. ;
  346. ; Create destination directory.
  347. ;
  348. (complete 25)
  349.  
  350. ; create destination directory
  351. (if (not (exists #destination))
  352.     (
  353.         (makedir #destination (help @makedir-help) (infos))
  354.  
  355.         ;
  356.         ; Copy MUIbase directory icon.
  357.         ;
  358.         (if (exists "/MUIbase.info")
  359.             (run (cat "copy /MUIbase.info \"" #destination ".info\""))
  360.         )
  361.         (tooltype (dest #destination) (noposition))
  362.     )
  363. )
  364.  
  365. (complete 30)
  366.  
  367. ;
  368. ; Create include directory
  369. ;
  370. (set #include_dir (tackon #destination "Include"))
  371. (if (not (exists #include_dir))
  372.     (makedir #include_dir (help @makedir-help))
  373. )
  374.  
  375. (complete 35)
  376.  
  377. (copyfiles
  378.     (prompt #copyreadmes)
  379.     (source "")
  380.     (pattern "(ReadMe#?|LiesMich#?|Porting#?|FAQ|TODO)")
  381.     (dest #destination)
  382.     (infos)
  383.     (optional "force" "askuser")
  384.     (help @copyfiles-help)
  385.     (confirm "expert")
  386. )
  387.  
  388. (complete 40)
  389.  
  390. ;copy docs
  391. ; Ask docs to install
  392. (set doc_lang
  393.     (askchoice
  394.     (prompt #copydocs)
  395.     (help @askchoice-help)
  396.     (choices
  397.         "English"
  398.         "Deutsch"
  399.         #docs-none
  400.     )
  401.     (default (if (= @language ";deutsch") 1 0))
  402.     )
  403. )
  404. (if (set language
  405.     (select doc_lang
  406.         "English"
  407.         "Deutsch"
  408.         ""
  409.     ))
  410.     (
  411.         (makedir (tackon #destination "Docs"))
  412.         (copyfiles (source "Docs.info") (dest #destination))
  413.         (copyfiles
  414.         (source (tackon "Docs" language))
  415.         (dest (tackon #destination "Docs"))
  416.         (all)
  417.         (infos)
  418.         )
  419.     )
  420. )
  421.  
  422. (complete 45)
  423.  
  424. (copyfiles
  425.     (prompt #copyregister)
  426.     (source "")
  427.     (pattern "(Register)")
  428.     (dest #destination)
  429.     (infos)
  430.     (optional "force" "askuser")
  431.     (help @copyfiles-help)
  432.     (confirm "expert")
  433. )
  434.  
  435. (complete 50)
  436.  
  437. (copyfiles
  438.     (prompt #copyexecs)
  439.     (source "")
  440.     (choices "MUIbase" "ABconvert")
  441.     (dest #destination)
  442.     (infos)
  443.     (optional "force" "askuser")
  444.     (help @copyfiles-help)
  445.     (confirm "expert")
  446. )
  447.  
  448. (complete 60)
  449.  
  450. ;copy catalog files
  451. (if (exists "LOCALE:" (noreq))
  452.     (
  453.         ; Ask languages to install
  454.         (set sel_lang
  455.             (askoptions
  456.                 (prompt #copycatalogs)
  457.                 (help #copycatalogs-help @askoptions-help)
  458.                 (choices
  459.                      "Deutsch"
  460. ;                    "Français"
  461. ;                    "Español"
  462. ;                    "Nederlands"
  463. ;                    "Svenska"
  464.                 )
  465.                 (default 0)
  466.             )
  467.         )
  468.         (set n 0)
  469.         (while
  470.             (set language
  471.                   (select n
  472.                      "Deutsch"
  473. ;                    "Français"
  474. ;                    "Español"
  475. ;                    "Nederlands"
  476. ;                    "Svenska"
  477.                     ""
  478.                 )
  479.                )
  480.             (if (IN sel_lang n)
  481.                 (
  482.                     (makedir (tackon (tackon #destination "Catalogs") language))
  483.                     (copyfiles
  484.                         (source (tackon (tackon "Catalogs" language) "MUIbase.catalog"))
  485.                         (dest (tackon (tackon #destination "Catalogs") language))
  486.                     )
  487.                 )
  488.             )
  489.             (set n (+ n 1))
  490.         ) ; end of while statement
  491.     )
  492. )
  493. (complete 70)
  494.  
  495. (if #do_installimages
  496.     (
  497.         (set #dest_images (tackon #destination "Images"))
  498.         (copyfiles
  499.         (prompt #copyimages)
  500.             (source "")
  501.         (choices "Images")
  502.         (dest #destination)
  503.         (infos)
  504.             (help @copyfiles-help)
  505.             (optional "force" "askuser")
  506.             (confirm "expert")
  507.         )
  508.     )
  509. )
  510.  
  511. (complete 80)
  512.  
  513. (if #do_installdemos
  514.     (
  515.         (set #dest_demos (tackon #destination "Demos"))
  516.         (copyfiles
  517.         (prompt #copydemos)
  518.             (source "")
  519.         (choices "Demos")
  520.         (dest #destination)
  521.         (infos)
  522.             (help @copyfiles-help)
  523.             (optional "force" "askuser")
  524.             (confirm "expert")
  525.         )
  526.     )
  527. )
  528.  
  529. (complete 90)
  530.  
  531.  
  532. ;
  533. ; Startup Sequence
  534. ;
  535.  
  536. (startup "MUIbase"
  537.     (prompt #userstartup)
  538.     (help @startup-help)
  539.     (command "if exists \"" #destination "\"\n")
  540.     (command "   assign MUIbase: \"" #destination "\" DEFER\n")
  541.     (command "endif")
  542. )
  543.  
  544. (complete 95)
  545.  
  546. (makeassign "MUIbase" #destination)
  547.  
  548.  
  549. ;=============================================================================
  550. ; Finish
  551.  
  552. (complete 100)
  553.  
  554. (exit (#finished #copyright #destination) (quiet))
  555.  
  556.